package festival.board;

public interface TilePlacer {
    /**
     * Checks if it is possible to place tile at coordinates and places it
     * if apply is true. It returns whether we can place tile at coordinates.
     * @param coordinates the coordinates of the position on the map we want to place the tile
     * @param tile the tile we want to place
     * @param apply whether we want to place the tile or just check if we can
     * @return true if coordinates is a valid position for tile, false otherwise
     */
    public boolean placeTile(int[] coordinates, Tile tile, boolean apply);
    public boolean place(int[] coordinates, IrrigationTile tile, boolean apply);   // Irrigation
    public boolean place(int[] coordinates, PalaceTile tile, boolean apply);       // Palace
    public boolean place(int[] coordinates, RiceTile tile, boolean apply);         // Rice
    public boolean place(int[] coordinates, VillageTile tile, boolean apply);      // Village
//    public boolean place(int[] coordinates, Developer tile, boolean apply);        // Developer
}
